package HLLibClasses;

import HLCode.HLClassManager;
import HLCode.HLLibClass;
import HLCode.HLObject;
import HLLib.base.HLMath;
import HLLib.base.HLPoint;

public class HLClassMath extends HLLibClass {
    public HLClassMath(HLClassManager owner) {
        super(owner);
    }

    public HLObject NewObject() {
        return new HLMath();
    }

    public void StaticExecute(int index, HLObject args, HLObject resultOwnerObject, int resultIndex) {
        switch (index) {
        case 0: {
            if (resultOwnerObject == null) {
                HLMath.Abs(args.GetInt(0));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Abs(args.GetInt(0)));
            }
            break;
        }
        case 1: {
            if (resultOwnerObject == null) {
                HLMath.Max(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Max(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 2: {
            if (resultOwnerObject == null) {
                HLMath.Min(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Min(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 3: {
            if (resultOwnerObject == null) {
                HLMath.MinMax(args.GetInt(0), args.GetInt(1), args.GetInt(2));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.MinMax(args.GetInt(0), args.GetInt(1), args.GetInt(2)));
            }
            break;
        }
        case 4: {
            if (resultOwnerObject == null) {
                HLMath.IsMoreThan(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.IsMoreThan(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 5: {
            if (resultOwnerObject == null) {
                HLMath.IsLessThan(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.IsLessThan(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 6: {
            if (resultOwnerObject == null) {
                HLMath.IsNotMoreThan(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.IsNotMoreThan(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 7: {
            if (resultOwnerObject == null) {
                HLMath.IsNotLessThan(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.IsNotLessThan(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 8: {
            if (resultOwnerObject == null) {
                HLMath.IsEqual(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.IsEqual(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 9: {
            if (resultOwnerObject == null) {
                HLMath.IsNotEqual(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.IsNotEqual(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 10: {
            if (resultOwnerObject == null) {
                HLMath.IsBooleanEqual(args.GetBoolean(0), args.GetBoolean(1));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.IsBooleanEqual(args.GetBoolean(0), args.GetBoolean(1)));
            }
            break;
        }
        case 11: {
            if (resultOwnerObject == null) {
                HLMath.IsBooleanNotEqual(args.GetBoolean(0), args.GetBoolean(1));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.IsBooleanNotEqual(args.GetBoolean(0), args.GetBoolean(1)));
            }
            break;
        }
        case 12: {
            if (resultOwnerObject == null) {
                HLMath.IsObjectEqual((HLObject)args.GetObject(0), (HLObject)args.GetObject(1));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.IsObjectEqual((HLObject)args.GetObject(0), (HLObject)args.GetObject(1)));
            }
            break;
        }
        case 13: {
            if (resultOwnerObject == null) {
                HLMath.IsObjectNotEqual((HLObject)args.GetObject(0), (HLObject)args.GetObject(1));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.IsObjectNotEqual((HLObject)args.GetObject(0), (HLObject)args.GetObject(1)));
            }
            break;
        }
        case 14: {
            if (resultOwnerObject == null) {
                HLMath.IsNull((HLObject)args.GetObject(0));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.IsNull((HLObject)args.GetObject(0)));
            }
            break;
        }
        case 15: {
            if (resultOwnerObject == null) {
                HLMath.IsNotNull((HLObject)args.GetObject(0));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.IsNotNull((HLObject)args.GetObject(0)));
            }
            break;
        }
        case 16: {
            if (resultOwnerObject == null) {
                HLMath.Add(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Add(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 17: {
            if (resultOwnerObject == null) {
                HLMath.Subtract(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Subtract(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 18: {
            if (resultOwnerObject == null) {
                HLMath.Multiply(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Multiply(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 19: {
            if (resultOwnerObject == null) {
                HLMath.Divide(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Divide(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 20: {
            if (resultOwnerObject == null) {
                HLMath.Mod(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Mod(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 21: {
            if (resultOwnerObject == null) {
                HLMath.Left(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Left(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 22: {
            if (resultOwnerObject == null) {
                HLMath.Right(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Right(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 23: {
            if (resultOwnerObject == null) {
                HLMath.AndInt(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.AndInt(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 24: {
            if (resultOwnerObject == null) {
                HLMath.OrInt(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.OrInt(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 25: {
            if (resultOwnerObject == null) {
                HLMath.XorInt(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.XorInt(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 26: {
            if (resultOwnerObject == null) {
                HLMath.NotInt(args.GetInt(0));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.NotInt(args.GetInt(0)));
            }
            break;
        }
        case 27: {
            if (resultOwnerObject == null) {
                HLMath.Opposite(args.GetInt(0));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Opposite(args.GetInt(0)));
            }
            break;
        }
        case 28: {
            if (resultOwnerObject == null) {
                HLMath.And(args.GetBoolean(0), args.GetBoolean(1));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.And(args.GetBoolean(0), args.GetBoolean(1)));
            }
            break;
        }
        case 29: {
            if (resultOwnerObject == null) {
                HLMath.Or(args.GetBoolean(0), args.GetBoolean(1));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.Or(args.GetBoolean(0), args.GetBoolean(1)));
            }
            break;
        }
        case 30: {
            if (resultOwnerObject == null) {
                HLMath.Not(args.GetBoolean(0));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.Not(args.GetBoolean(0)));
            }
            break;
        }
        case 31: {
            if (resultOwnerObject == null) {
                HLMath.Power(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Power(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 32: {
            if (resultOwnerObject == null) {
                HLMath.Sin(args.GetInt(0));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Sin(args.GetInt(0)));
            }
            break;
        }
        case 33: {
            if (resultOwnerObject == null) {
                HLMath.Cos(args.GetInt(0));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Cos(args.GetInt(0)));
            }
            break;
        }
        case 34: {
            if (resultOwnerObject == null) {
                HLMath.Tan(args.GetInt(0));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Tan(args.GetInt(0)));
            }
            break;
        }
        case 35: {
            if (resultOwnerObject == null) {
                HLMath.Atan2(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.Atan2(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 36: {
            if (resultOwnerObject == null) {
                HLMath.ToDegrees(args.GetInt(0));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.ToDegrees(args.GetInt(0)));
            }
            break;
        }
        case 37: {
            if (resultOwnerObject == null) {
                HLMath.ToRadians(args.GetInt(0));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.ToRadians(args.GetInt(0)));
            }
            break;
        }
        case 38: {
            if (resultOwnerObject == null) {
                HLMath.GetSubBoolean(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetBoolean(resultIndex, HLMath.GetSubBoolean(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 39: {
            if (resultOwnerObject == null) {
                HLMath.SetSubBoolean(args.GetInt(0), args.GetBoolean(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.SetSubBoolean(args.GetInt(0), args.GetBoolean(0), args.GetInt(1)));
            }
            break;
        }
        case 40: {
            if (resultOwnerObject == null) {
                HLMath.GetByteCount(args.GetInt(0));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.GetByteCount(args.GetInt(0)));
            }
            break;
        }
        case 41: {
            if (resultOwnerObject == null) {
                HLMath.GetItemCount(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.GetItemCount(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3)));
            }
            break;
        }
        case 42: {
            if (resultOwnerObject == null) {
                HLMath.GetItemPos(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.GetItemPos(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3)));
            }
            break;
        }
        case 43: {
            if (resultOwnerObject == null) {
                HLMath.GetItemPosAndCount(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3));
            } else {
                resultOwnerObject.SetObject(resultIndex, HLMath.GetItemPosAndCount(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3)));
            }
            break;
        }
        case 44: {
            if (resultOwnerObject == null) {
                HLMath.GetItemPosAndCountAndSpace(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3));
            } else {
                resultOwnerObject.SetObject(resultIndex, HLMath.GetItemPosAndCountAndSpace(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3)));
            }
            break;
        }
        case 45: {
            if (resultOwnerObject == null) {
                HLMath.GetItemPosAndSize(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3));
            } else {
                resultOwnerObject.SetObject(resultIndex, HLMath.GetItemPosAndSize(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3)));
            }
            break;
        }
        case 46: {
            if (resultOwnerObject == null) {
                HLMath.GetItemPosAndSizeAndSpace(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3));
            } else {
                resultOwnerObject.SetObject(resultIndex, HLMath.GetItemPosAndSizeAndSpace(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3)));
            }
            break;
        }
        case 47: {
            if (resultOwnerObject == null) {
                HLMath.GetItemPosAndSpace(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3));
            } else {
                resultOwnerObject.SetObject(resultIndex, HLMath.GetItemPosAndSpace(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3)));
            }
            break;
        }
        case 48: {
            if (resultOwnerObject == null) {
                HLMath.GetItemSize(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.GetItemSize(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3)));
            }
            break;
        }
        case 49: {
            if (resultOwnerObject == null) {
                HLMath.GetItemSpace(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.GetItemSpace(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3)));
            }
            break;
        }
        case 50: {
            if (resultOwnerObject == null) {
                HLMath.GetPosAdjustableH(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.GetPosAdjustableH(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3)));
            }
            break;
        }
        case 51: {
            if (resultOwnerObject == null) {
                HLMath.GetPosAdjustableV(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.GetPosAdjustableV(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3)));
            }
            break;
        }
        case 52: {
            if (resultOwnerObject == null) {
                HLMath.GetShakePos(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.GetShakePos(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3)));
            }
            break;
        }
        case 53: {
            if (resultOwnerObject == null) {
                HLMath.GetPosBuffer(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3), args.GetInt(4));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.GetPosBuffer(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3), args.GetInt(4)));
            }
            break;
        }
        case 54: {
            if (resultOwnerObject == null) {
                HLMath.GetTransRect(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3), args.GetInt(4), args.GetInt(5), args.GetInt(6), args.GetBoolean(0));
            } else {
                resultOwnerObject.SetObject(resultIndex, HLMath.GetTransRect(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3), args.GetInt(4), args.GetInt(5), args.GetInt(6), args.GetBoolean(0)));
            }
            break;
        }
        case 55: {
            if (resultOwnerObject == null) {
                HLMath.PointToGrid(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.PointToGrid(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 56: {
            if (resultOwnerObject == null) {
                HLMath.ChangeSpeedByRub(args.GetInt(0), args.GetInt(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.ChangeSpeedByRub(args.GetInt(0), args.GetInt(1)));
            }
            break;
        }
        case 57: {
            if (resultOwnerObject == null) {
                HLMath.vectorAdd(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3));
            } else {
                resultOwnerObject.SetObject(resultIndex, HLMath.vectorAdd(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3)));
            }
            break;
        }
        case 58: {
            if (resultOwnerObject == null) {
                HLMath.vectorSub(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3));
            } else {
                resultOwnerObject.SetObject(resultIndex, HLMath.vectorSub(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3)));
            }
            break;
        }
        case 59: {
            if (resultOwnerObject == null) {
                HLMath.vectorMul((HLPoint)args.GetObject(0), (HLPoint)args.GetObject(1));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.vectorMul((HLPoint)args.GetObject(0), (HLPoint)args.GetObject(1)));
            }
            break;
        }
        case 60: {
            if (resultOwnerObject == null) {
                HLMath.LinearEquations(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3), args.GetInt(4));
            } else {
                resultOwnerObject.SetInt(resultIndex, HLMath.LinearEquations(args.GetInt(0), args.GetInt(1), args.GetInt(2), args.GetInt(3), args.GetInt(4)));
            }
            break;
        }
        }
    }
}
